Lock-Free Techniques for Concurrent Access to Shared Objects
نویسندگان
چکیده
Concurrent access to shared data in preemptive multi-tasks environment and in multi-processors architecture have been subject of many works. Proposed solutions are commonly based on semaphores which have several drawbacks. For many cases, lock-free techniques constitute an alternate solution and avoid the disadvantages of semaphore based techniques. We present the principle of these lock-free techniques with the simple example of a LIFO stack. Then, based on Michael-Scott previous work, we propose a new algorithm to implements lock-free FIFO stacks with a simple constraint on the data structure.
منابع مشابه
Progress Guarantees When Composing Lock-Free Objects
Highly concurrent and reliable data objects are vital for parallel programming. Lock-free shared data objects are highly concurrent and guarantee that at least one operation, from a set of concurrently executed operations, finishes after a finite number of steps regardless of the state of the other operations. Lock-free data objects provide progress guarantees on the object level. In this paper...
متن کاملCharacterizing the Performance of Algorithms for Lock-Free Objects
Concurrent access to shared data objects must be regulated by a concurrency control protocol to ensure correctness. Many concurrency control protocols require that a process set a lock on the data it accesses. Recently, there has been considerable interest in lock-free concurrency control algorithms. Lock-free algorithms ooer the potential for better system performance because slow or failed pr...
متن کاملDome a Distributed Object Oriented Execution Environment
In this paper we describe the architecture and implementation strategy of a concurrent distributed object oriented program execution environment, where concurrently executing processes access objects in a virtual shared memory. Lin-earizability, basic correctness condition for the semantics of concurrent object invocation, is implemented using a lock-free protocol, and integrated transparently ...
متن کاملA simple proof system for lock-free concurrency
The use of locking is the classical approach to prevent interference in concurrent access to shared data structures. Using locks it is not difficult to ensure data consistency (a safety property) and deadlockfreedom (a liveness property). Many sophisticated implementation and reasoning techniques for lockbased concurrent programming have been developed over some decades. Lock-based synchronizat...
متن کاملObject Sharing in Pfair-scheduled Multiprocessor Systems
We consider various techniques for implementing shared objects and for accounting for objectsharing overheads in Pfair-scheduled multiprocessor systems. We primarily focus on the use of lock-free objects, though some lock-based alternatives are briefly considered as well. Lock-free objects are more economical for implementing relatively simple objects such as buffers, stacks, queues, and lists;...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2002